package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 账单业务对象 p_user_bill
 *
 * @author ruoyi
 * @date 2022-07-26
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("账单业务对象")
public class PUserBillBo extends BaseEntity {

    /**
     * 
     */
    @ApiModelProperty(value = "", required = true)
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id", required = true)
    @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;

    /**
     * 账单标题
     */
    @ApiModelProperty(value = "账单标题", required = true)
    @NotBlank(message = "账单标题不能为空", groups = { AddGroup.class, EditGroup.class })
    private String title;

    /**
     * 账单种类 0 推广提现
     */
    @ApiModelProperty(value = "账单种类 0 推广提现", required = true)
    @NotBlank(message = "账单种类 0 推广提现不能为空", groups = { AddGroup.class, EditGroup.class })
    private String category;

    /**
     * 支付类型 0 余额 1 微信
     */
    @ApiModelProperty(value = "支付类型 0 余额 1 微信", required = true)
    @NotBlank(message = "支付类型 0 余额 1 微信不能为空", groups = { AddGroup.class, EditGroup.class })
    private String payType;

    /**
     * 明细类型 0 支出 1 收入
     */
    @ApiModelProperty(value = "明细类型 0 支出 1 收入", required = true)
    @NotBlank(message = "明细类型 0 支出 1 收入不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 明细金额
     */
    @ApiModelProperty(value = "明细金额", required = true)
    @NotNull(message = "明细金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal number;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", required = true)
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;


}
